Falsafah rekabentuk Bahasa_pengaturcaraan

Sempena tujuan yang disebut di atas, setiap Bahasa Pengaturcaraan telah dibangunkan menggunakan rekabentuk khas atau falsafah. Beberapa aspek ditekankan seperti, cara Bahasa menggunakan Stuktur Data, atau dengan notasi khas apakah yang menggalakkan cara penyelesaian tertentu atau menyampaikan strukturnya.

Disebabkan Bahasa Pengaturcaraan adalah Bahasa tak tulen/artifisial, ia memerlukan disiplin yang tegas, untuk menspesifikasikan secara tepat operasi yang dikehendaki. Bahasa Pengaturcaraan tidak lari daripada ralat, bagaimanapun beban untuk mengenali dan menggunakan perbendaharaan kata khas dikurangkan dengan penggunaan pesanan bantuan yang dijanakan oleh Bahasa Pengaturcaraan. Terdapat beberapa Bahasa Pengaturcaraan yang memberi kebebasan yang lebih tinggi dengan membenarkan ubahsuaian-diri, di mana aturcara menulis semula bahagian dalamannya untuk menangani kes baru. Biasanya, hanya Bahasa Mesin, dan ahli daripada Keluarga Lisp yang menyediakan kemampuan tersebut. Beberapa Bahasa Pengaturcaraan seperti MUMPS dan Perl membenarkan pengubahsuaian terhadap Struktur Data yang mengandungi serpihan aturcara, dan menyediakan cara untuk memindahkan kawalan aturcara kepada Struktur Data. Bahasa yang menyokong Pautan Dinamik dan pemuatan, seperti C, C++ dan Java, berupaya meniru sifat ubahsuaian-diri, dengan memasukkan pengkompil kecil atau memanggil pengkompil dan memautkan kod objek yang terhasil. Penterjemahan kod dengan mengkompilnya semula dalam masa nyata dipanggil Pengkompilasi Semula Dinamik. Emulator dan Mesin Maya mengeksploit teknik ini bagi mendapat prestasi yang lebih.